package com.yunsc.system.config;

import cn.dev33.satoken.stp.StpInterface;

import java.util.ArrayList;
import java.util.List;

/**
 * @version: 1.0
 * @Author: adan
 * @description: 自定义权限验证接口
 * @date: 2024-04-13 22:40
 */
public class PermissionInterface implements StpInterface {


    // 返回一个账号所拥有的权限码集合
    @Override
    public List<String> getPermissionList(Object o, String s) {
        List<String> list = new ArrayList<>();
        // // 2. 遍历角色列表，查询拥有的权限码
        // for (String roleId : getRoleList(loginId, loginType)) {
        //     SysQuery queryVo = new SysQuery();
        //     queryVo.setId(roleId);
        //     //查询角色和权限(这里根据业务自行查询)
        //     List<SysMenu> menuList = sysMenuService.selectPermsByRoleId(queryVo);
        //     List<String> collect = menuList.stream().map(SysMenu::getPerms).collect(Collectors.toList());
        //     list.addAll(collect);
        // }
        return list;
    }

    // 返回一个账号所拥有的角色标识集合 (权限与角色可分开校验)
    @Override
    public List<String> getRoleList(Object o, String s) {
        List<String> list = new ArrayList<>();
        // SysUser user = (SysUser) StpUtil.getSession().get("user");
        // list.add(user.getRoleId());
        return list;
    }
}
